package com.reflection.cglib;

import java.lang.reflect.Method;

import net.sf.cglib.proxy.MethodInterceptor;
import net.sf.cglib.proxy.MethodProxy;

public class MyMethodInterceptor implements MethodInterceptor{
	/**
	 * obj:被代理对象
	 * method:被代理对象正在被调用的方法
	 * args:被代理对象正在被调用的方法传的参数
	 * proxy:代理对象对应的方法
	 */
	@Override
	public Object intercept(Object obj, Method method, Object[] args,MethodProxy proxy) throws Throwable {
		Object object = proxy.invokeSuper(obj, args);
		if(object instanceof String){
			if(object.toString().contains("猪")){
				return "对不起，不能包含猪";
			}
		}
		return object;
	}
}
